import os
import json
"""读取 login_data.json 并返回可迭代的测试用例列表"""
    # 动态获取文件路径（确保路径正确）
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

def read_login_data():
    """读取 login_data.json 并返回可迭代的测试用例列表"""
    # 动态获取文件路径（确保路径正确）

    json_path = os.path.join(project_root, 'data', 'login_data.json')

    try:
        with open(json_path, 'r', encoding='utf-8') as f:
            test_cases = json.load(f)  # 假设 JSON 内容是列表，如 [{}, {}, ...]
            # 关键：确保返回的是列表（可迭代）
            if not isinstance(test_cases, list):
                raise ValueError("login_data.json 内容必须是列表格式")
            return test_cases
    except FileNotFoundError:
        raise FileNotFoundError(f"文件不存在：{json_path}")
    except json.JSONDecodeError:
        raise ValueError(f"JSON 格式错误：{json_path}")

def read_battery_data():
    """
    读取 battery_data.json 并返回可迭代的电池列表测试用例列表
    功能类似 read_login_data，适配电池列表接口测试数据的读取
    """
    # 动态获取项目根路径（与 read_login_data 逻辑保持一致，基于当前函数所在文件路径推导）

    # 拼接电池测试数据文件路径，假设电池数据文件在 data 目录下，名为 battery_data.json
    # 可根据实际文件位置调整路径拼接逻辑，比如数据文件层级、文件名等
    json_path = os.path.join(project_root, 'data', 'battery_data.json')

    try:
        with open(json_path, 'r', encoding='utf-8') as f:
            test_cases = json.load(f)
            # 关键：确保返回的是列表格式（可迭代的测试用例列表）
            if not isinstance(test_cases, list):
                raise ValueError(f'battery_data.json 内容必须是列表格式，当前文件路径：{json_path}')
            return test_cases
    except FileNotFoundError:
        raise FileNotFoundError(f'文件不存在：{json_path}')
    except json.JSONDecodeError:
        raise ValueError(f'JSON 格式错误：{json_path}')



def read_lemang_login_data():
    """读取lemang系统登录测试数据"""
    # 明确指向 data/lemang/login_data.json
    data_path = os.path.join(project_root, "data", "lemang", "login_data.json")
    if not os.path.exists(data_path):
        raise FileNotFoundError(f"lemang测试数据文件不存在：{data_path}")
    with open(data_path, 'r', encoding='utf-8') as f:
        return json.load(f)

def read_lemang_business_data():
    """读取lemang系统业务测试数据"""
    data_path = os.path.join(project_root, "data", "lemang", "business_data.json")